Dynamic slice priority handling

ABSTRACT

Embodiments provide functionality for dynamic handling of network slice priorities. In an embodiment, a slice priority manager receives, from a network services node, data indicating changes in network resources available for maintaining instantiated network slices in a communication network. Based on the received data, changes in the network services node&#39;s ability to maintain the instantiated network slices are identified and a communication service provider is notified of the change. To continue, slice priority data that indicates a preferred order of a portion of the network slices for allocating the network resources is received from the communication service provider. In turn, an indication of the slice priority data is forwarded to the network services node to update allocation of network resources for the slices.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.17/281,529, which is the U.S. National Stage Application ofInternational Application No. PCT/EP2019/077560 filed on Oct. 11, 2019,published in English, which claims priority under 35 U.S.C. § 119 or 365to European Application No. 18206310.7, filed Nov. 14, 2018, whichclaims the benefit of U.S. Provisional Application No. 62/744,439, filedon Oct. 11, 2018. The entire teachings of the above applications areincorporated herein by reference.

FIELD OF THE INVENTION

The invention relates to a network node, a communications network and amethod for managing slide priorities.

BACKGROUND

Next generation network architectures, such as 5G, may separate networkfunctions from the underlying hardware resources, e.g., in the case of atelecommunication network, the network nodes of the network. For thatpurpose, so-called Network Virtualization (NV) techniques may be used,and, in particular, Network Function Virtualization (NFV) techniqueswhich provide network functions that are instantiable in software usingthe hardware of one or more of the network nodes. Herein, “providing” or“establishing” a network function may thus comprise or refer to theinstantiation of a network function in a network.

Such next generation network architectures may further define virtualdata planes which separate data traffic in the network. Such virtualdata planes, which may be established by a Software-Defined Network(SDN) but also by other techniques, may include a management plane toenable transmissions of management data in the network, a control planeto enable transmission of control data in the network, and a user planeto enable transmission of user data to and/or from User Equipment (UE)connected to the network. The user plane may also be referred to simplyas the “data plane.”

Next generation network architectures, such as the architecturedescribed in 3GPP TS 28.530, “Management and orchestration; Concepts,use cases and requirements,” 3GPP, September 2018, creates isolatednetwork slices inside the mobile operator domain. These slices can betailored for specific services and functionalities. In this approach,the infrastructure of a mobile operator supports multiple networkslices. In 3GPP TS 28.530, the requirements state that the 3GPPmanagement system has the capability of re-allocating resources of aNetwork Slice Instance (NSI) according to a priority.

SUMMARY

While priorities are contemplated by 3GPP TS 28.530 requirements, thesepriorities are static and there is no existing functionality fordynamically managing network slice priorities. Embodiments based on thepresent disclosure provide a new way to handle priorities of differentvirtual network slices that are provided on a physical network in theevent there is a lack of network resources, for example, in the case ofnetwork failure, or if there is an abundance of network resources.Instead of using static priorities, as is done in the approach currentlydeveloped in 3GPP, embodiments make the definition of the priorities inthe network slicing management functions dynamic, based on interactionsbetween the network operator (NOP) and the communication serviceproviders (CSPs) that use the slices for their services. In embodiments,the information flows between the NOP and the CSPs and the decisions onslice priorities may be provided by a new function, a Slice PriorityManager. An embodiment builds on the network-level implementation ofpriorities currently under development for the network functionsvirtualization management and orchestration (NFV-MANO) architecture.

Embodiments improve the ability for CSPs to provide end users anuninterrupted and high-quality service experience by reducing the numberof network slice de-instantiations. Further, in the event capacityreductions are still needed, e.g., a slice is de-instantiated, thecapacity reductions may be applied to the network slices according topreferences provided by the CSPs themselves. For example, a CSP mayprefer capacity reductions where the negative consequences for its endusers are the smallest.

An example embodiment for providing network slice priority handling maybe directed to a network node configured as a slice priority managementnode for use with a communication network. The network node may beconfigured to receive, from a network services node, data indicatingchanges in network resources available for maintaining instantiatednetwork slices in the communication network, where the network servicesnode may be configured to enable the instantiation of the networkslices, each representing a virtual network. In an embodiment, the dataindicating changes may be any such data that indicates an influence onthe ability to maintain a network slice. Based on the received data, thenetwork node may identify a change in the network services node'sability to maintain the instantiated network slices and notify acommunication service provider of the change. In turn, the network nodemay receive, from the communication service provider, slice prioritydata that indicates a preferred order of a portion of the network slicesfor allocating the network resources. In response, the network node mayforward an indication of the slice priority data to the network servicesnode.

According to an example embodiment, the indication of the slice prioritydata may include at least one of the slice priority data andinstructions to remove a given network slice of the instantiated networkslices. In another embodiment, the data received from the networkservices node at the network node may indicate a lack of resources formaintaining the instantiated network slices or an abundance of resourcesfor maintaining the instantiated network slices. According to anembodiment, the network node may further be configured, in response toreceiving the slice priority data from the communication serviceprovider, to determine if changing allocation of network resources basedon the slice priority data corrects a resource problem and, if changingthe allocation of network resources based on the slice priority datadoes not correct the resource problem, notify the communication serviceprovider. In such an embodiment, the network node may be configured todetermine if changing the allocation of the network resources based onthe slice priority data corrects the resource problem based upon atleast one of: connectivity capacity data, storage capacity data, andprocessing capacity data. According to an embodiment, at least one ofthe connectivity capacity data, the storage capacity data, and theprocessing capacity data may include at least one of: base capacitydata, maximum guaranteed capacity data, and maximum non-guaranteedcapacity data.

An example embodiment of the network node may further be configured tonotify the communication service provider of the change via an exposurefunction. Moreover, in another example embodiment of the network node,the data indicating changes in network resources may be pushed to thenetwork node from the network services node or received in response to arequest from the network node to the network services node. Yet anotherembodiment of the network node may be configured to receive dataindicating available network resources from a transport network system.

According to yet another embodiment, the network node may be configured,in identifying a change in the network services node's ability tomaintain the instantiated network slices, to determine there areinsufficient resources available to maintain a slice associated with thecommunication service provider and only notify the communication serviceprovider of the change in the network services node's ability tomaintain the instantiated network slices if it is determined there areinsufficient resources available to maintain the slice associated withthe communication service provider. In such an embodiment, acommunication service provider is only notified of the change, if thechange affects one of the communication service provider's slices.According to an embodiment, the network node may be configured todetermine there are insufficient resources available to maintain theslice based upon any data that influences maintaining a slice. Forinstance, in an example embodiment, the network node may be configuredto determine there are insufficient resources available to maintain theslice associated with the communication service provider based upon atleast one of: connectivity capacity data, storage capacity data, andprocessing capacity data. According to one such embodiment, at least oneof the connectivity capacity data, the storage capacity data, and theprocessing capacity data may include at least one of: base capacitydata, maximum guaranteed capacity data, and maximum non-guaranteedcapacity data.

Another embodiment of the network node may be configured to providepriority handling at the subnet slice level of granularity. In such anembodiment, the data indicating changes in network resources availablefor maintaining instantiated network slices may include locationinformation or subnet slice identifiers, where the location informationand subnet slice identifiers may indicate changes in network resourcesavailable to maintain instantiated subnet slices forming the networkslices. Further, the network node may be configured to provide thelocation information or the subnet slice identifiers to thecommunication service provider, receive subnet slice priority data fromthe communication service provider, and forward an indication of thesubnet slice priority data to the network services node. In this way,the communication service provider is made aware of changes inmaintaining slices for particular geographic areas that are covered byparticular subnet slices and the communication service provider providesits preferred priority for allocating resources to the subnetslices/geographic areas. Then, by forwarding an indication of thecommunication service provider's subnet preferences to the networkservices node, the network services node can implement the subnetpreferences.

Yet another embodiment of the network node may be configured, innotifying the communication service provider of the change, to indicatean order with which slices associated with the communication serviceprovider will be allocated resources by the network services node. Inone such embodiment, the network node may be configured to indicate theorder using a mapping that numerically decouples priority indicatorsused by the network services node from priority indicators used by thecommunication service provider. In this way, the communication serviceprovider is not notified of the priority with which slices associatedwith the communication service provider will be allocated resources ascompared to network slices not associated with the communication serviceprovider.

Another example embodiment of the network node may be configured tostore default slice priority data associated with the communicationservice provider and forward the default slice priority data to thenetwork services node if the slice priority data is not received fromthe communication service provider.

In accordance with another embodiment, the network node may beconfigured to determine a proposed slice priority and provide theproposed slice priority to the communication service provider. Accordingto such an embodiment, the network node may be configured to determinethe proposed slice priority based upon at least one of historical data,current resource usage data, and machine learning analysis of resourceusage data.

An embodiment of the network node may be configured to provide networkslice priority handling for multiple communication service providers. Insuch an embodiment, the network node may further be configured to notifya second communication service provider of the change, receive slicepriority data from the second communication service provider thatindicates a preferred order of a second portion of the network slicesfor allocating the network resources, and forward an indication of theslice priority data received from the second communication serviceprovider to the network services node.

In an embodiment where the network node provides slice priority handlingfor multiple communication service providers, the network node may befurther configured to determine if changing allocation of networkresources based on the slice priority data received from the firstcommunication service provider and the slice priority data received fromthe second communication service provider corrects a resource problemand, if changing the allocation of network resources based on the slicepriority data received from the first communication service provider andthe second communication service provider does not correct the resourceproblem, notify the first communication service provider and the secondcommunication service provider.

Another embodiment is directed to a communication network comprising aplurality of network nodes, where the network is configured to enableinstantiation of network slices which represent virtual networks. Thecommunication network may comprise a slice priority management functionconfigured to receive, from a network services node, data indicatingchanges in network resources available for maintaining instantiatednetwork slices in the communication network, where the network servicesnode is configured to enable the instantiation of the network slicesthat each represent a virtual network. The slice priority managementfunction in the communication network may further be configured toidentify a change in the network services node's ability to maintain theinstantiated network slices based on the received data, notify acommunication service provider of the change, and receive, from thecommunication service provider, slice priority data that indicates apreferred order of a portion of the network slices for allocating thenetwork resources. Further, the slice priority management function mayforward an indication of the slice priority data to the network servicesnode.

Yet another embodiment is directed to a method for managing slicepriority in a communication network. Such a method embodiment may beginby receiving, from a network services node, data indicating changes innetwork resources available for maintaining instantiated network slicesin the communication network where, the network services node imay beconfigured to enable the instantiation of the network slices that eachrepresent a virtual network. The method may continue by identifying achange in the network services node's ability to maintain theinstantiated network slices based on the received data and notifying acommunication service provider of the change. In turn, slice prioritydata may be received from the communication service provider and anindication of the slice priority data may be forwarded to the networkservices node.

In accordance with another aspect of the disclosure, a non-transitorycomputer readable medium may be provided comprising a computer programthat comprises instructions for causing a processor system to provideslice priority handling. According to such an embodiment, theinstructions may cause the processor system to receive, from a networkservices node (configured to enable the instantiation of the networkslices each representing a virtual network), data indicating changes innetwork resources available for maintaining instantiated network slicesin the communication network. Further, the instructions may cause theprocessor system to, based on the received data, identify a change inthe network services node's ability to maintain the instantiated networkslices and notify a communication service provider of the change. Theinstructions also may cause the processor system to receive, from thecommunication service provider, slice priority data indicating apreferred order of a portion of the network slices for allocating thenetwork resources and forward an indication of the slice priority datato the network services node.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing will be apparent from the following more particulardescription of example embodiments, as illustrated in the accompanyingdrawings in which like reference characters refer to the same partsthroughout the different views. The drawings are not necessarily toscale, emphasis instead being placed upon illustrating embodiments.

FIG. 1 depicts a network including slices in which an embodiment may beimplemented.

FIG. 2 illustrates a network with sufficient resources for implementingslices.

FIG. 3 illustrates a network with insufficient resources for maintaininginstantiated slices in which an embodiment may be implemented.

FIG. 4 illustrates a network with slices configured after re-allocationof network resources according to principles of an embodiment.

FIG. 5 depicts interactions between slice management functions and anetwork services node in which an embodiment may be implemented.

FIG. 6 is a block diagram illustrating capacity information flows thatare utilized in embodiments.

FIG. 7 is a flow diagram of a method for managing network slice priorityin an embodiment.

FIG. 8 is a block diagram depicting dynamic handling of slice prioritiesaccording to an embodiment.

FIG. 9 illustrates an embodiment of dynamic handling of slice prioritiesthrough an exposure function.

FIG. 10 depicts an embodiment for handling slice priorities by pullinginformation on changes in network resources.

FIG. 11 is a block diagram of an embodiment providing dynamic slicepriority management using information exchanged with a transportnetwork.

FIG. 12 depicts slice subnets that may be managed according toembodiments.

FIG. 13 illustrates resource capacities that may be employed inproviding dynamic slice priorities according embodiments.

FIG. 14 shows a system which may represent a network node implementing aslice management function according to an embodiment.

FIG. 15 depicts a computer readable medium comprising non-transitorydata comprising instructions for causing a processor system to performan embodiment.

FIG. 16 is a block diagram of an exemplary data processing system thatmay be used to implement an embodiment.

DETAILED DESCRIPTION

A description of example embodiments follows.

The teachings of all patents, published applications and referencescited herein are incorporated by reference in their entirety.

Embodiments provide dynamic priority handling for network slices. FIG. 1depicts a network 100 in which embodiments may be employed. The network100 includes the user equipment devices 101 a and 101 b which are aphone and a car, respectively. The network 100 is implemented by thephysical components which include the 5G radio access network 102 whichis connected to the 5G core network 103. The 5G core network 103 iscoupled to any number of data networks 104 a and 104 n. Through theradio access network 102 and core network 103, the user equipmentdevices 101 a and 101 b are able to connect to the data networks 104a-n.

The network 100 includes the virtualized networks, called networkslices, 107 a and 107 n. The network slice 107 a comprises thevirtualized 5G radio access network 105 a and virtualized 5G corenetwork 106 a and the network slice 107 n comprises the virtualized 5Gradio access network 105 n and virtualized 5G core network 106 n. Theslices 107 a-n, 5G radio access networks 105 a-n, and 5G core networks107 a-n are instantiated using the physical components 102 and 103. Inthe network 100, the network slices 107 a and 107 n each represent avirtual network that provides connectivity, processing, and storageservices, amongst other services, to the user equipment devices 101 aand 101 b. Embodiments can be employed in the network 100 to controlallocation of network resources for maintaining the instantiated slices107 a-n. In an implementation, an embodiment may be provided as a slicepriority management function operating in a management plane of thenetwork 100.

In networks with multiple network slice instances (NSIs), i.e., slices,each slice can have a different priority. Therefore, network traffic inlow priority slices will be affected when the infrastructure of theoperator is not able to accommodate all of the slices.

FIG. 2 illustrates a network 220 during normal operation. In the network220, the operator, in this example, European TelecommunicationsStandards Institute Management and Orchestration node, i.e., networkservices node, 221 communicates with the transport network 226, whichcould be part of the Network Function Virtualization Infrastructure andthe network services node 221 communicates with the virtualinfrastructure layer 225 which is part of the Network FunctionVirtualization Infrastructure (NFVI). The layers 225 and 226 form theNFVI. The NFVI is the environment in which virtual network functionsrun. The NFVI environment includes physical resources (not shown),virtual resources, e.g., the emergency slice 223 and the enhanced mobilebroadband (eMBB) slice 224, and a virtualization layer, e.g., thevirtual infrastructure 225.

To elaborate, computing, memory, and networking resources are thephysical parts in NFVI. Virtual resources are instantiated on thesephysical resources. Any commodity network switch, which is part of thetransport network 226 or physical server, storage server, or the like,comprise the physical parts in NFVI. Virtual resources include virtualcomputing, memory, and networking resources, e.g., the slices 223 and224, that are utilized by virtual network functions, e.g., the functions222. The virtualization layer 225 is responsible for abstractingphysical resources into virtual resources. The virtualization layer maybe referred to as a “Hypervisor.” The virtualization layer 225 decouplessoftware from hardware which enables the software to progressindependently from hardware.

The network services node 221 uses the virtual infrastructure layer 225to instantiate the eMBB slice 224 and the emergency slice 223, which arejust two example slices, amongst others, that may be instantiated in thenetwork 220. Further, the network 220 includes the management functions222. The management functions 222 include any functions, e.g.,management functions that operate on multiple slices. In FIG. 2 normaloperation for all slices, 224 and 223, is shown.

FIG. 3 depicts the network 220 after an event 227, such as theinstantiation of a new slice or the failure of some elements of thenetwork infrastructure, which causes a capacity shortage for the networkinfrastructure, to accommodate all slices. According to 3GPPrequirements, in such situations, slices with higher priority will takeover resources from lower priority slices. This may result in otherslices being de-instantiated from the network infrastructure.

FIG. 4 illustrates the network 220 where a lack of capacity is solved byre-allocating resources to the higher priority slice, the emergencyslice 223. Existing methods perform this re-allocation based on a staticpriority, however, at the time of the event 227, the static priority mayno longer be desired, but, existing methods do not accommodate a changein priority. In contrast, embodiments described herein facilitatedynamic setting of resource priorities for maintaining slices and, thus,when an event occurs, such as a failure or abundance of resources, theresources can be allocated according to priorities that are determinedat the time of the event based on the current conditions of the networkand desired preferences of communication service providers.

FIG. 5 depicts an example of a deployment scenario of how functions caninteract with the NFV-MANO functions 551. It is noted that thedeployment scenario depicted in FIG. 5 is but one example and functionscan be named differently and be configured to perform differentfunctionalities. In an example, functions that interact with theNFV-MANO functions 551 may be any such functions as described in 3GPP TS28.533, “Management and orchestration; Architecture framework,” 3GPP,September 2018. Further, the NFV-MANO functions 551 may include any suchfunctions as described in ETSI, “GS NFV-MAN 001-Network FunctionsVirtualisation (NFV); Management and Orchestration,” December 2012.

Returning to FIG. 5 , in this deployment scenario the functions thatinteract with the NFV-MANO functions 551 include the network slicesubnet management function (NSSMF) 556, network function managementfunction (NFMF) 557, physical network function (PNF) 558, andvirtualized network function (VNF) 559. The NSSMF 556 is capable ofconsuming the virtual network function (VNF) life cycle management (LCM)and the network service life cycle management related services providedby NFV-MANO. The NSSMF 556 is also a provider of network slice subnetrelated services. The NFMF 557 provides application level management ofVNFs and physical network functions (PNFs) and is a producer of thenetwork function (NF) provisioning service that includes configurationmanagement (CM), fault management (FM) and performance management (PM).The NFMF 557 is also a consumer of the NF provisioning service producedby the VNFs and PNFs. The PNF 558 is a network function that is notvirtualized, for example a base station. The VNF 559 is any networkfunction that can run on a virtual infrastructure.

The NFV-MANO functions 551 include the network function virtualizationorchestrator (NFVO) 552, virtual network function manager (VNFM) 553,and virtualized infrastructure manager (VIM) (554). The NFVO 552generates, maintains, and tears down network services of VNFsthemselves. If there are multiple VNFs, NFVO 552 enables creation of endto end service over multiple VNFs. NFVO 552 is also responsible forglobal resource management of NFVI resources. For example, managing theNFVI resources, i.e. computing, storage, and networking resources amongmultiple VIMs in a network. The NFVO 552 performs its functions by nottalking directly to VNFs but, through VNFM 553 and VIM 554. The VNFM 553manages a VNF or multiple VNFs i.e., it does the life cycle managementof VNF instances. Life cycle management relates to settingup/maintaining and tearing down VNFs. The VIM 554 is the managementsystem for NFVI. The VIM 554 is responsible for controlling and managingthe NFVI computing, network, and storage resources within one operator'sinfrastructure domain. The VIM 554 is also responsible for collection ofperformance measurements and events.

The functions 556, 557, 558, and 559 can provide priorities for thesubnet slices that can then be enforced by NFV-MANO 551. In a standardapproach, the functions 556, 557, 558, and 559 determine a staticpriority for each slice that is then used by NFV-MANO 551. However, thisstatic priority does not necessarily reflect a desired allocation ofnetwork resources at the time of the capacity problem and does notensure the best use of network resources.

Embodiments solve the foregoing problem through use of a slice prioritymanager function that can be implemented to provide dynamic handling ofslice priorities. FIG. 6 illustrates capacity information message flowsin a network 660 that may be used in embodiments. In NFV-MANO, thecapability to handle priorities for “network services” which map to3GPP's network subnet slices, is being developed, through a new subinterface in the Os-Ma-nfvo interface. This interface is called theNetwork Function Virtualization infrastructure (NFVI) CapacityInformation interface. The interface allows the capacity informationmessage flows 667 a-d to be implemented between the network servicesnode, NFV-MANO 661, and the network node 662 implementing the slicemanagement functions 663-666. It is noted that while the node 662 isdepicted including the functions 663-666, embodiments are not solimited, and the node 662 may include any functions as described in 3GPPTR 28.801, “Telecommunication management; Study on management andorchestrations of network slicing for next generation network,” 3GPP,January 2018. In FIG. 6 , the slice management functions include thecommunication service management function (CSMF) 663, network slicemanagement function (NSMF) 664, and network slice subnet managementfunction (NSSMF) 665. The CSMF 663 is responsible for translating thecommunication service requirements to network slice requirements and theCSMF 663 communicates this with the NSMF 664. The NSMF 664 isresponsible for management and orchestration of a network slice instance(NSI), translates network slice requirements into network slice subnetrequirements and communicates this with the NSSMF 665. The NSSMF 665 isresponsible for management and orchestration of a network slice subnetinstance (NSSI). The NSSMF 665 can communicate with the NSMF 664.

Further, the node 662 includes slice priority manager (SPM) 666 that maybe implemented as a function to implement any embodiments describedherein. For instance, the SPM 666 may perform the communications andprocessing to provide dynamic slice priority handling as described.

Further, the SPM 666, implementing an embodiment, may also communicatewith other functions in providing dynamic slice priority handling. Forinstance, if the SPM 666 determines that a slice needs to bede-instantiated, then the SPM 666 will communicate with the NSMF 664 toget the slice de-instantiated. In another embodiment, if the SPM 666determines that a subnet slice needs to be de-instantiated, the SPM 666will communicate with the NSSMF 665. In yet another example embodiment,that utilizes default priorities, the NSMF 664 and NSSMF 665 can ask theSPM 666 for default priorities.

In another instance, the SPM 666 can communicate with the NFV-MANO 661directly for NFVI capacity information. Similarly, in another embodimentthe SPM 666 communicates directly with the NFV-MANO 661 to update theslice priority, computing, storage, or networking resource limits. Inyet another embodiment, for updating the slice priority, computing,storage, or networking resource limits, the SPM 666 communicates to theNSSMF 665 and the NSSMF 665 translates these communications and providesthem to the NFV-MANO system 661. Further, another embodiment may alsoimplement the various functionalities of the SPM 666 in the NSSMF 665,NSMF 664, and/or CSMF 663, amongst other examples.

The interface between the nodes 662 and 661 provides the followingfunctions: Query NFVI capacity information 667 a, get a NFVI capacityinformation response 667 b, subscribe to NFVI capacity notifications 667c, and get NFVI capacity notifications 667 d when there is capacityshortage or abundance, for example. The messages 667 a and 667 b utilizea polling mechanism and the messages 667 c and 667 d utilize asubscribe/notify mechanism. In embodiments, both mechanisms can be used.

With the standard static priority approach depicted in FIG. 5 , when anetwork failure in the infrastructure of the mobile operator occurs,complete network slices are turned off or are deleted in order tomaintain operation of higher priority network slices. Turning off ordeleting complete slices leads to service unavailability for end usersthat depend on the lower priority slices, which is undesirable. Theproblem with this static priority approach is that it also turns offslices in situations where turning off slices is not necessary. Forexample, if the slices that are candidates for removal are, at thattime, only used to a fraction of their capacity, the fractionallyutilized slices could still be maintained if the currently used capacityis accounted for rather than the nominal capacity. Another example isthat the degree of dependence of end users on the slices may vary overtime. For instance, end users' needs for the services provided over theslices may vary, for example, because of the availability of alternativeservices or delivery infrastructure, or because of the varying use ofthe services over time. With fixed priorities, a slice that carries lessimportant services during the network failure may be maintained at thecost of a slice that provides more important services. The current 3GPPspecification does not provide mechanisms to include real-timeinformation on actual use of slice capacity or priorities from thirdparties and end users in the decisions to de-instantiate slices.

Embodiments of the disclosure solve the problems of static slicepriority by making the handling of priority of slices more dynamic, sothat the steps taken during network failures can be adapted to thereal-time needs of third party service providers and end-users. Thedynamic handling of priorities reuses the priorities that are underdevelopment in ETSI NFV and which may be used in 3GPP. The dynamicpriority handling provided by embodiments is implemented by furtherreal-time analysis carried out by the network slice management functionsand/or a newly implemented slice priority management function whichutilizes further information provided by third parties on the desiredpriorities of the third parties' services.

FIG. 7 is a flow chart of a method 770 for providing dynamic slicepriority management according to an embodiment. The method 770 may beimplemented through any variety of mechanisms in any variety ofenvironments known in the art. The method 770 may be implemented in anetwork node. Further, the method 770 may be implemented as a networkfunction. For instance, next generation network architectures, such as5G, may separate network functions from the underlying hardwareresources, in the case of a telecommunication network, the network nodesof the network. For that purpose, so-called NV techniques may be used,and in particular NFV techniques which provide network functions thatare instantiable in software using the hardware of one or more of thenetwork nodes. Herein, “providing” or “establishing” a network functionmay thus comprise or refer to the instantiation of the network functionin the network.

As described herein, next generation network architectures may furtherdefine virtual data planes which separate data traffic in the network.Such virtual data planes, which may be established by a SDN but also byother techniques, may include a management plane to enable transmissionsof management data in the network. In an embodiment, the method 770 isimplemented as a management plane function operating in the managementplane of a network.

In an example embodiment, the method 770 is implemented as a function,e.g., the SPM 666. According to an embodiment, the steps 771-775 of themethod 770 are done by the SPM function 666. Further, in otherembodiments, communications between the SPM 666 (implementing the method770) and the NFV-MANO 661 can be via other functions. For instance, acommunication can go from the SPM 666 to the CSMF 663, then to the NSMF664 and then to the NSSMF 665, and then to the NFV-MANO 661. In anotherembodiment, communication to the NFV-MANO 661 can go from the SPM 666 tothe NSMF 664, from the NSMF 664 to the NSSMF 665, and then from theNSSMF 665 to the NFV-MANO 661. In yet another embodiment, acommunication goes from the SPM 666 to the NSSMF 665 and then from theNSSMF 665 to the NFV-MANO 661.

In another embodiment wherein, the SPM 666 implements the method 770,when the SPM 666 communicates with a CSP, it goes via the CSMF 663.Further, according to yet another embodiment, when the SPM 666communicates with a CSP the communications go from the SPM 666 to theNSMF 664 and then from the NSMF 664 to the CSMF 663.

Returning to FIG. 7 , the method 770 begins at step 771 by receiving,from a network services node, data indicating changes in networkresources available for maintaining instantiated network slices in acommunication network. In such an embodiment, the network services nodeis configured to enable the instantiation of the network slices thateach represent a virtual network. According to an embodiment, the datareceived at step 771 indicates a lack of resources for maintaining theinstantiated network slices or an abundance of resources for maintainingthe instantiated network slices. In an example embodiment, the data isreceived at step 771 in response to a push from the network servicesnode. In another embodiment, the data is received at step 771 inresponse to a request from a network node to the network services node.

According to an embodiment, the network services node from which thedata is received at step 771 is a NFV-MANO node. Further, whileembodiments are described as being implemented in a communicationnetwork with a NFV-MANO node, embodiments are not so limited and may beimplemented in any communication network with slicing. While data isreceived at step 771 from a network services node, an alternativeembodiment of the method 770 also includes receiving data indicatingavailable network resources from a transport network system.

The method 770 continues at step 772 by identifying a change in thenetwork services node's ability to maintain the instantiated networkslices based on the received data. In turn, at step 773, a communicationservice provider is notified of the change in the network servicesnode's ability to maintain the instantiated network slice. In anembodiment, the communication service provider is notified of the changeat step 773 via an exposure function.

Next, at step 774 slice priority data is received from the communicationservice provider. Thus, in such an embodiment, the communication serviceprovider determines a preferred order for maintaining instantiatedslices and communicates data indicating the preferred priority. In anembodiment, the slice priority data received at step 774 indicates apreferred order of a portion of the network slices for allocating thenetwork resources. Further, in an embodiment, the slice priority dataalso includes preferred changes or priorities for allocating resourcesto the various services, e.g., storage, processing, and connectivity,provided by slices. According to an embodiment, the “portion” of networkslices includes slices associated with the communication serviceprovider.

Finally, at step 775 an indication of the slice priority data isforwarded to the network services node. In this way, the networkservices node can modify allocation of network resources for maintaininginstantiated network slices in accordance with the communication serviceprovider's preferences. According to an embodiment, the indication ofthe slice priority data includes the slice priority data and/orinstructions to remove a given network slice of the instantiated networkslices.

In an alternative embodiment of the method 770, in response to receivingthe slice priority data from the communication service provider at step774, the method includes determining if changing allocation of networkresources based on the slice priority data corrects a resource problem.Then, if changing the allocation of network resources based on the slicepriority data does not correct the resource problem, the communicationservice provider is notified so that that communication service providercan attempt to determine a slice priority configuration that correctsthe resource problem. In such an embodiment, the method may determine ifchanging allocation of the network resources based on the slice prioritydata corrects the resource problem based upon at least one of:connectivity capacity data, storage capacity data, and processingcapacity data. According to an embodiment, the connectivity capacitydata, the storage capacity data, and the processing capacity data mayeach have a base capacity, maximum guaranteed capacity, and maximumnon-guaranteed capacity.

An alternative embodiment of the method 770, at step 772, identifies achange in the network services node's ability to maintain instantiatedslices on a slice by slice basis. In this way, the method 770 mayidentify that there are insufficient resources available to maintain aslice associated with an individual communication service provider.Then, at step 773, the communication service provider is only notifiedof the change in the network services node's ability to maintain theinstantiated network slices if it is determined there are insufficientresources available to maintain a slice associated with thecommunication service provider. In this way, a communication serviceprovider is not needlessly notified of a change. According to anembodiment, the method 770 determines there are insufficient resourcesavailable to maintain the slice associated with the communicationservice provider based upon connectivity capacity data, storage capacitydata, and/or processing capacity data. In such an embodiment, theconnectivity capacity data, the storage capacity data, and theprocessing capacity data may each include a base capacity data, maximumguaranteed capacity data, and maximum non-guaranteed capacity data.

Another embodiment of the method 770 is configured to provide dynamicslice handling for a plurality of communication service providers. Insuch an embodiment, multiple communication service providers arenotified of the change in the network services node's ability tomaintain the instantiated slices. According to an embodiment, only thecommunication service providers who have slices affected by the changein resources are notified. In turn, slice priority data is received fromeach communication service provider. The slice priority data indicates apreferred order for allocating resources to network slices associatedwith each respective communication service provider. Then, an indicationof the slice priority data received from each communication serviceprovider is forwarded to the network services node. In an alternativeembodiment, prior to forwarding the data to the network services node,it is determined if changing the allocation of network resources basedon the slice priority received from the multiple communication serviceproviders corrects a resource problem. Then, if changing the allocationof network resources based on the slice priority data received from themultiple communication service providers does not correct the resourceproblem, the multiple communication service providers are notified sothat the communication service providers can provide updated slicepriority data in an attempt to overcome the problem.

In an embodiment of the method 770, in notifying the communicationservice provider of the change at step 773, the method also includesindicating an order with which slices associated with the communicationservice provider will be allocated resources by the network servicesnode. According to an embodiment, in indicating the order with whichslices associated with the communication service provider will beallocated resources by the network services node, the method indicatesthe order using a mapping that numerically decouples priority indicatorsused by the network services node from priority indicators used by thecommunication service provider.

It is noted that the method 770 may also include the functionality ofany embodiments described herein, such as the functionality describedherein in relation to FIGS. 6 and 8-16 . Likewise, the other embodimentsdescribed herein may implement any of the embodiments of the method 770described hereinabove.

FIG. 8 depicts dynamic handling of slice priorities in a network 880according to an embodiment. The mobile network 880 is managed by aNetwork Operator (NOP) 881 that has set up multiple slices in the mobilenetwork 880. The slices are used for services offered by severalCommunication Service Providers (CSPs), such as the CSP 888, which ingeneral are 3^(rd) parties. The NOP 881 can itself also be a CSP. Theslices are managed by the NOP 881. The NOP 881 can also let a CSP handleparts of the management functions by giving the CSP access to themanagement functions through an Exposure Function (EF) (not shown). Thenetwork 880 also includes a slice management function 883 that includesthe CSMF 884, NSMF 885, NSSMF 886, and SPM 887. It is noted that whilein FIG. 8 , and the other figures described herein, e.g., FIGS. 9-11 ,the slice management function is depicted as including the CSMF, NSMF,NSSMF, and SPM, embodiments are not so limited and the slice managementfunction/system can comprise other logical functional blocks. Forinstance, embodiments may be implemented in any slice management systemthat provides services including: configuration management (CM), faultmanagement (FM), performance management (PM), and life cycle management(LCM) for VNFs and network slices.

According to an embodiment, when slices are created a Network ServiceDescriptor (NSD) information element is sent from the 3GPP SliceManagement system 883 to the NFV-MANO system 882. This informationelement contains an initial/default priority value. The handling ofslices with different priorities is managed by the NFV-MANO system 882and is not currently in the 3GPP scope. However, in the network 880,slice priority values can be set and be updated by the 3GPP SliceManagement system 883.

Each slice has a capacity in the areas of connectivity, storage, andprocessing, and each area (connectivity, storage, and processing) ofcapacity can be characterized by one or more parameters. Theseparameters may include a minimum/base capacity (that is always reservedfor the slice), a maximum that is guaranteed to be achievable, and aheadroom capacity that may be available if the total network resourcesallow. The 3GPP Slice Management system 883 can retrieve informationabout current resource usage from the NFV-MANO system 882. The currentresource usage data may include information related to memory, storage,CPU usage, network capacity, radio capacity, and other resourceinformation.

In the network 880 new functionality for dynamic slice prioritymanagement is provided that is bundled in the SPM functional box 887.This function 887 can comprise smaller functionalities and these smallerfunctionalities can also be provided by micro services. In embodiments,these functionalities can be co-located with other functionalities andare not necessarily grouped physically or virtually together. This meansthat the complete or parts of the functionality that comprise the SPMfunction 887 can be implemented on a Services Based Architecture (SBA)by one or more different management services. This is also the case forthe Exposure Function (EF) and other functions that are describedherein.

In general, the network 880 operates in normal operation, i.e. withoutnetwork failures or resource shortages and then when a resource problemoccurs, the NFV-MANO system 882 sends 830 information to the slicemanagement function 887 regarding changes in available resources.Further, according to an embodiment, thresholds may be set for when theNFV-MANO 882 sends 830 information to the slice management function 887.In an embodiment, the NFV-MANO system 882 may send the information usingmessages as described hereinabove in relation to FIG. 6 . The SPM 887analyzes 831 whether the change in resources causes problems inmaintaining network slices. If it is determined that there are problemsin maintaining network resources, the CSP 888 is notified 832 by the SPM887 via an application program interface (API). In an alternativeembodiment, the SPM 887 does not perform the analysis 831 and theinformation regarding changes in resources is sent to CSPs. Further, inan embodiment, a CSP may only be notified if the change in resourcesaffects a slice that is utilized by the CSP.

Further, it is noted that while only a single CSP 888 is depicted, thenetwork 880 may include a plurality of CSPs and then, the SPM function887 may provide dynamic slice priority services for the plurality ofCSPs. Moreover, in an embodiment, only the CSPs with the low-priorityslices that are candidates for removal are informed. However,embodiments are not so limited and CSPs may always be informed ofchanges in available resources.

To continue, upon receiving notification of the change in resources, theCSP 888 determines 833 a preferred action. Possible actions includechanging, i.e., upgrading or downgrading, the priority of slices anddecreasing the current minimal capacity for slices. In an embodiment,the capacity may refer to capacity for processing, storage, andconnectivity provided by a slice. Next, the CSP 888 communicates 834 itsdetermined preferences to the SPM 887. The SPM 887 checks 835 whetherthe new modification by the CSP 888 solves the resource problems. Ifnot, then the steps 832, 833, 834, and 835 are executed again. In anembodiment, the steps 832, 833, 834, and 835 are repeated only foraffected low priority slices.

Further, in another embodiment, there is a predetermined maximum for thenumber of iterations. In such an embodiment, the predetermined maximumnumber of iterations may be a property set for the SPM 887. When themaximum number of iterations is reached, in an embodiment, the SPM 887will stop the iterations and communicate the latest priority changes andresource allocation changes to the NFV-MANO 882. In such an embodiment,the NFV-MANO 882 will determine how to proceed and may de-instantiate aslice to allow higher priority slices to continue to function. Inanother embodiment, iterations may be stopped prior to reaching amaximum number, but when the same slice priority data or resourceallocation changes are received from the same CSP as in a previousiteration. In that case, the SPM 887 communicates the latest prioritychanges and resource allocation changes to the NFV-MANO 882. In anotherembodiment, where there are multiple CSPs, iterations may still continueeven where a CSP provides the same priority and resource allocationchanges for multiple iterations so as to allow other CSPs to modifytheir priority and resource allocation changes.

If it is determined 835, that the new configuration solves the resourceproblems, the slice priorities will be updated 836 by sending thepriorities to the NFV-MANO node 882. In an embodiment, the SPM 887 andthe slice management system 883 will forward the updated slice priorityinformation via the Os-Ma-nfvo interface to the NFV-MANO node 882. Uponreceipt of the updated priorities, the NFV-MANO node 882 can enforce thepriorities, e.g., allocate resources for maintaining instantiated slicesbased on the updated priorities.

The SPM function 887 is configured to implement the dynamic slicepriority handling. In an embodiment, the SPM function 887 detectsresource problems, based on information obtained from the NFV-MANOsystem 882. Further, the SPM function 887 communicates with the CSP 888that uses the various slices directly, through new messages. The SPM 887can also check if the newly assigned slice properties or capacities willsolve the resource problems and can make decisions on the adjustment ofpriorities, based on the (updated) priorities from multiple CSPs.

FIG. 9 illustrates an embodiment of dynamic handling of slice prioritiesthrough an exposure function 989. The mobile network 980 is managed by aNOP 981 that has set up multiple slices in the mobile network 980. Thenetwork 980 includes a slice management function 983 that includes theCSMF 984, NSMF 985, NSSMF 986, and SPM 987. The SPM 987 communicateswith the CSP 988 via the exposure function 989.

During operation, when a resource problem occurs, the NFV-MANO system982 sends 930 information to the slice management function 983 regardingchanges in available resources. The SPM 987 analyzes 931 whether thechange in resources causes problems in maintaining network slices. If itis determined that there are problems in maintaining network slices, theSPM 987 notifies 932 a the exposure function 989 and the exposurefunction 989 sends 932 b the message to the CSP 988 that there areproblems in maintaining network slices. Upon receiving notification ofthe change in resources, the CSP 988 determines 933 a preferred action.Then, the CSP 988 communicates 934 a its determined preferences to theexposure function 989 and the exposure 989 provides 934 b the CSP's 988preferences to the SPM 987. The SPM 987 checks 935 whether modificationspreferred by the CSP 988 solves the resource problem. If not, then thesteps 932 a-b, 933, 934 a-b, and 935 are executed again. If it isdetermined 935 that the new configuration solves the resource problem,the slice priorities will be updated and the slice management system 983forwards 936 the updated slice priority information to the NFV-MANO node982.

In the network 980, the communication between the slice management node983 and the CSP 988 in steps 932 a-b and 934 a-b is established via theintermediate exposure function 989. Thus, the communication flowsbetween the slice management node 983 and CSP 988 are split into thesteps 932 a and 932 b and the steps 934 a and 934 b. The exposurefunction 989 can filter and secure the information coming to the NOP 981domain from the external/outside CSP 988 domain and may translate orconvert the information from the CSP.

FIG. 10 depicts a network 1080 that implements slice priority handlingby pulling information on changes in network resources. The mobilenetwork 1080 is managed by a NOP 1081 that has set up multiple slices inthe mobile network 1080. The network 1080 includes a slice managementfunction 1083 that includes the CSMF 1084, NSMF 1085, NSSMF 1086, andSPM 1087. The SPM 1087 communicates with the CSP 1088 via the exposurefunction 1089.

In the network 1080, instead of the NFV-MANO node 1082 taking theinitiative to inform the slice management node 1083 of changes regardingavailable resources as in the networks 880 and 980 described herein, theinformation is requested (pulled) 1030 a by the slice management node1083. In embodiments, the resource information may be requested 1030 aperiodically or may be triggered by other events detected by the slicemanagement node 1083.

To illustrate, according to periodic scheduling, or in response to atriggered event, the slice management node 1083 requests 1030 ainformation from the NFV-MANO node 1082. In response, the NFV-MANOsystem 1082 sends 1030 b information to the slice management node 1083regarding changes in available resources. The SPM 1087 analyzes 1031whether the change in resources causes problems in maintaining networkslices. If it is determined that there are problems in maintainingnetwork resources, the SPM 1087 notifies 1032 a the exposure function1089 and the exposure function 1089 sends 1032 b the message to the CSP1088 that there are problems in maintaining network slices. Uponreceiving notification of the change in resources, the CSP 1088determines 1033 a preferred action. Then, the CSP 1088 communicates 1034a its determined preferences to the exposure function 1089 and theexposure function 1089 provides 1034 b the CSP's 1088 preferences to theSPM 1087. The SPM 1087 checks 1035 whether the modification by the CSP1088 solves the resource problems. If not, then the steps 1032 a-b,1033, 1034 a-b, and 1035 are executed again. If it is determined 1035that the new configuration solves the resource problems, the slicepriorities will be updated by the SPM 1087 and the slice managementsystem 1083 forwards 1036 the updated slice priority information to theNFV-MANO node 1082. It is noted that while the network 1080 is depictedcommunicating between the slice management node 1083 and the CSP 1088via the exposure function 1089, the network 1080 is not limited to sucha configuration and the slice management node 1083 and CSP 1088 maycommunicate directly.

FIG. 11 is a block diagram of an embodiment that provides dynamic slicepriority management using information exchanged with a transport network1190. The mobile network 1180 is managed by a NOP 1181 that has set upmultiple slices in the mobile network 1180. The network 1180 includes aslice management function 1183 that includes the CSMF 1184, NSMF 1185,NSSMF 1186, and SPM 1187. The network 1180 also includes the CSP 1088and transport network 1190.

In the network 1180, instead of getting capacity or resource usageinformation solely from the NFV-MANO system 1182 information is alsoretrieved directly from a transport network system 1190. The transportnetwork system 1190 can be a management system of network equipment,e.g., a firewall, a router, and/or a switch, or a Software DefinedNetwork (SDN) system or any other transport network system that canprovide network equipment capacity information or resource usage data.The network 1180 is depicted using a polling mechanism to obtain datafrom the transport network 1190, however, embodiments are not so limitedand a push mechanism where the transport network 1190 notifies the slicemanagement node 1183 of changes regarding available resources may alsobe used. Further, while not depicted, the network 1180 may also employan exposure function as described herein. Further still, while FIG. 11illustrates the slice management node 1183 receiving resourceinformation from the NFV-MANO node 1182, in an alternative embodiment,the information regarding changes in resources may only be received fromthe transport network 1190.

In operation, according to periodic scheduling, or in response to atriggered event, the slice management node 1183 requests 1137,information from the transport network node 1190 and, in response, thetransport network node 1190 sends 1138 information on changes inresources to the slice management node 1183. Likewise, the NFV-MANO node1182 sends 1130 information on changes in resources to the slicemanagement node 1183. The SPM 1187 analyzes 1131, using the informationfrom the transport network 1190 and NFV-MANO node 1182, whether thechange in resources causes problems in maintaining network slices. If itis determined that there are problems in maintaining network slices, theSPM 1187 notifies 1132 the CSP 1188 that there are problems inmaintaining network slices. Upon receiving notification of the change inresources, the CSP 1188 determines 1133 a preferred action. Then, theCSP 1188 communicates 1134 its determined preferences to the SPM 1187.The SPM 1187 checks 1135 whether the new modification by the CSP 1188solves the resource problems. If not, then the steps 1132, 1133, 1134,and 1135 are executed again. If it is determined 1135 that the newconfiguration solves the resource problems, the slice priorities will beupdated 1136 by the SPM 1187 and the slice management system 1183forwards the updated slice priority information to the NFV-MANO node1182.

It is noted that any features described herein may be implemented in anyof the embodiments described herein, limited only by features that areincompatible. Further, features, e.g., an exposure function, push andpolling information exchange, and receiving information from a transportnetwork, may be used in any of the embodiments described herein,including the method 770 and the networks 880, 980, 1080, and 1180,amongst others.

As described herein, in an embodiment a CSP, e.g., the CSP 888, is onlynotified of changes in the network service's nodes ability to maintainan instantiated slice if the failing slice is associated with, e.g.,used by, the CSP. However, in an alternative embodiment, instead ofinvolving only CSPs with low priority slices, CSPs that have higherpriority slices can also be notified about changes in resourceavailability. In such an embodiment, the CSP associated with a higherpriority slice, e.g., a slice that is not affected by the change inresource availability, is notified. In such an embodiment, the notifiedCSP determines a change in slice priority or needed slice capacity, andforwards the updated preferences to the slice priority manager. Themessage to the CSP with high priority slices can include a request tolower the guaranteed maxima for the resources in the CSP's associatedslice(s). Then, the message back to the slice priority managementfunction can include an information element specifying a new maximumdetermined by the CSP. By notifying CSPs associated with slices that arenot affected by the change in resources, the slice priority managementfunction can free up network resources for other slices. Similarly, inembodiments, CSPs may be notified when there is also an abundance ofresources and in this way, CSPs can modify a preferred slice priority ormodify capacity requirements to free-up network resources so that otherslices can be instantiated or additional resources can be provided toother slices.

Another embodiment provides slice priority management with finergranularity than the network slice level. In such an embodiment,priority management may be controlled for different geographic areas ornetwork segments, i.e., subnet slices. In such an embodiment, instead ofmodifying a complete slice which is located over a large geographicalarea, only subnet slices are modified in the case of a local capacity orresource problem. Thus, if a problem occurs in a certain area which isgeographically covered by a network slice subnet, slice management,e.g., a slice management function or node implementing slice management,only takes action for this specific subnet. FIG. 12 depicts a slice 1220and the slice subnets 1220 a-d that may be managed according toembodiments.

In such an embodiment, subnet slice identifiers or geographicinformation is added to messages. The subnet slice identifiers indicateaffected subnet slices and likewise, the geographic informationindicates the affected geographic area. In an example embodiment, thedata indicating changes in network resources available for maintaininginstantiated network slices includes location information or subnetslice identifiers. The location information and subnet slice identifiersindicate changes in network resources available to maintain instantiatedsubnet slices forming the network slices. The location information orsubnet slice identifiers are provided to the CSP and the CSP providessubnet slice priority data indicating a preferred priority for providingnetwork resources to subnet slices or geographic locations. In turn, thesubnet slice priority data is provided to the network services node.Such an embodiment may also include determining if modifying networkresource allocation according to the subnet slice priority data correctsa resource problem and, if not, notifying the CSP.

An example embodiment provides CSPs with an indication of the order withwhich slices will be allocated resources. In one such embodiment, theCSP is notified of the actual order amongst all of the instantiatedslices with which the CSP's associated slices will be allocatedresources. To illustrate, consider an example where there are fourslices, referred to as slice-1, slice-2, slice-3, and slice 4, andslice-3 and slice-4 are associated with a CSP. In the network, slice-3and slice-4 are priority 3 and 4 respectively. In an embodiment wherethe CSP is made aware of its associated slices' actual priority, the CSPwill be told that slice-3 is priority 3 and slice-4 is priority 4.

In an alternative embodiment, a mapping is used between CSP internalpriorities and priorities used in slice management. The priorities thatCSPs use internally can be decoupled numerically from the prioritiesused in slice management, e.g., a node implementing embodimentsdescribed herein. To illustrate, returning to the example with slice-1,slice-2, slice-3, and slice-4. If the indications of slice priority arenumerically decoupled, the CSP will be notified that slice-3 is priority1 and slice-4 is priority 2. In this way, the CSP is only notified ofthe order with which its associated slices will be allocated resourcesbut, the CSP is not notified of the priority of its associated slices ascompared to other slices in the network.

The advantage of this numeric decoupling is that CSPs are not bound touse the external priorities from slice management in their internalsystems that may use other ordering or depend on yet other externalpriority lists as well. Table 1 below illustrates an example of how twosets of priorities can be mapped. In Table 1, the internal prioritiescolumn indicates the priority with which CSP X's slices are allocatedresources compared only to the slices associated with communicationservice provider X. The slice management priorities column indicates thepriority with which CSP X's slices will be allocated resources comparedto all of the slices in the network.

TABLE 1 Internal priorities Slice management CSPX priorities 1 2 2 4 3 7In an embodiment, the numeric decoupling can be implemented by anexposure function, e.g., exposure function 989, or can be done by theslice priority manager, e.g., slice priority manager 987. In anotherembodiment, the mapping from internal CSP priorities and slicemanagement priorities and back is done by the CSP itself whendetermining how to change priority, e.g., at step 833, or in an(additional) intermediate step in the communications between the CSP andthe slice manager.

As described herein, in an embodiment, the slice priority managementfunction, e.g., the SPM 887 described hereinabove in relation to FIG. 8, determines whether changing priorities and/or the allocation ofresources according to updates received from the CSP correct theresource allocation problem. In an embodiment, this decision making bythe SPM is based on various types of information that the SPM receivesfrom the CSP. For example, the CSP may indicate various measures for thecapacity for the connectivity, storage, and processing functionality ofa slice that the CSP wishes to have available in the CSP's slice. Thecapacity can be expressed in a combination of the base capacity,capacity that is always reserved for the slice, a (higher) maximumguaranteed capacity, capacity that is always made available to the sliceupon request by the CSP, and an additional headroom capacity, capacitythat may be made available if the total network resources and resourcesused by other slices permits. As an option, these measures may also begeographically or network-topology dependent. As another option, thesemeasures may be defined to vary in time in a predetermined way. The CSPcan include the various capacity values and their further specificationin the messages exchanged between the CSP and the slice prioritymanager. Further, the CSP may also indicate preferences, e.g.,priorities that vary over time, as the availability of resources variesover time. Further, the slice priority manager can receive the inputsfor these measures from different CSPs and then use the inputs frommultiple CSPs to decide on the optimal way to account for a lack ofresources between the slices from different CSPs. As an output of thedecision, the slice priority manager may send new values of the measuresback to the CSPs if the original changes do not correct the resourceproblem.

Further, in embodiments, the information received from the networkservices node may also include details regarding changes to the variouscapacity levels of each individual slice. For instance, information mayindicate changes in base capacity, maximum guaranteed capacity, andadditional headroom for the functionalities, e.g., storage, processing,and connectivity, for slices.

FIG. 13 illustrates capacities 1331-1333 for a given resource 1330 thatmay be employed in providing dynamic priorities as described herein. InFIG. 13 , the resource 1330 is has three capacity levels, a basecapacity 1331 that is always reserved for a slice, maximum guaranteedcapacity 1332 (which encompasses the base capacity 1331) that is alwaysavailable to the slice upon request, and an additional headroom capacity1333 (which encompasses the base capacity 1331 and maximum guaranteedcapacity 1332) that may be made available if the total network resourcesallow. Thus, FIG. 13 illustrates the capacity levels for a resource,e.g., connectivity, for a slice. The slice likewise has the threecapacity levels for the other resources the slice provides, e.g.,processing and storage.

Another embodiment uses default parameters for changes in resources,e.g., a shortage of resources or an abundance of resources. In such anembodiment, instead of the information exchange and real-time CSP input,the slice priority manager may fall back on predetermined defaults for aCSP for the CSP's preferred priorities and guaranteed capacity. Thisfall back may be employed if the CSP is not responsive to thenotification of the change regarding the ability to maintain aninstantiated slice. This may occur, for example, because of the resourceshortage. In one such embodiment, default parameter values are storedfor each CSP by the slice manager. The default values may be taken frompreferences provided by the CSP during an earlier situation withresource shortages. The default values may also be determined based onother online or offline interactions between the CSP and the slicemanager. In such an embodiment, the default values are provided to thenetwork services nodes as if the default values had been provided inreal-time as in other embodiments described herein.

Yet another embodiment creates slice priority proposals that areprovided to the CSPs. Instead of only notifying the CSP of capacity orresource problems, the slice priority manager creates a proposal for theCSP on how to change priorities or how to change specific sliceparameters, e.g., processing, storage, or transport. This proposal canbe created from several sources, including historical data (how the CSPresponded in past situations), current resource usage (the slicepriority manager detects that the CSP could have the same quality ofservice (QoS) with different slice parameters), or a machine learningalgorithm (based on historical data, current data, and predicting futuretraffic patterns). The use of machine learning may operate using aneural network trained with historical data to predict preferences basedon network conditions.

These extra functionalities can be performed by the slice prioritymanager prior to notifying the CSP of the change in network resources.Then, the proposal can be sent when the CSP is notified of the changesin the network services node's ability to maintain the instantiatednetwork slices. In an embodiment, the CSP can respond positively ornegatively to the proposal and can also ask for capacity information ifthis was not already provided. If, however, the CSP does not agree withthe proposal, then the CSP can provide its own priority preferences asdescribed herein.

In another embodiment, the CSP is prompted to provide a new prioritypreference when there is not a change in the network services node'sability to maintain instantiated slices. In such an embodiment, the CSPmay be prompted periodically or in response to any other desiredtriggering event.

FIG. 14 shows a system 1400 which may represent a network nodeimplementing a slice management function according to an embodiment. Itcan be seen that the system 1400 may comprise a network interface 1410for communicating with (other) network nodes in the network. The networkinterface 1410 may take any suitable form, including but not limited to,a wired network interface based on Ethernet or optical fiber or awireless network interface. FIG. 14 further shows the system 1400comprising storage 1430, such as a hard disk, a solid-state drive, or anarray thereof, which may be used by the system 1400 for storing data.

The system 1400 may further comprise a processor 1420 which may beconfigured, e.g., by hardware design or software, to perform theoperations for providing dynamic slice priority functionality describedherein. For example, the processor 1420 may be embodied by a singleCentral Processing Unit (CPU), but also be a combination or system ofsuch CPUs and/or other types of processing units. In general, the system1400 may be embodied by a (single) device or apparatus, e.g., a networkserver. However, the system 1400 may also be embodied by a distributedsystem of such devices or apparatuses.

In general, the dynamic slice priority management functionalitydescribed herein may be implemented at least in part by a device orapparatus. The device or apparatus may comprise one or more(micro)processors which execute appropriate software. Softwareimplementing the functionality described herein may have been downloadedand/or stored in a corresponding memory or memories, e.g., in volatilememory such as RAM or in non-volatile memory such as Flash.Alternatively, the methods and systems described herein may beimplemented in the device or apparatus in the form of programmablelogic, e.g., as a Field-Programmable Gate Array (FPGA). In general, afunction may be implemented as a circuit.

FIG. 15 depicts a computer readable medium comprising non-transitorydata comprising instructions for causing a processor system to performan embodiment. It is noted that any of the methods described herein, forexample in any of the claims, may be implemented on a computer as acomputer implemented method, as dedicated hardware, or as a combinationof both. Instructions for the computer, e.g., executable code, may bestored on a computer readable medium 1500 as for example shown in FIG.15 , e.g., in the form of a series 1510 of machine readable physicalmarks and/or as a series of elements having different electrical, e.g.,magnetic, or optical properties or values. The executable code may bestored in a transitory or non-transitory manner. Examples of computerreadable mediums include memory devices, optical storage devices,integrated circuits, servers, online software, etc. FIG. 15 shows by wayof example an optical storage device 1500.

FIG. 16 is a block diagram of an exemplary data processing system 1600that may be used to implement an embodiment. Such data processingsystems include data processing entities described in thisspecification, including but not limited to data processing entitiesimplementing the embodiments described herein, such as the method 770.

The data processing system 1600 may include at least one processor 1602coupled to memory elements 1604 through a system bus 1606. As such, thedata processing system 1600 may store program code within memoryelements 1604. Further, processor 1602 may execute the program codeaccessed from memory elements 1604 via system bus 1606. In one aspect,data processing system 1600 may be implemented as a computer that issuitable for storing and/or executing program code. It should beappreciated, however, that data processing system 1600 may beimplemented in the form of any system including a processor and memorythat can perform the functions described herein.

Memory elements 1604 may include one or more physical memory devicessuch as, for example, local memory 1608 and one or more bulk storagedevices 1610. Local memory may refer to random access memory or othernon-persistent memory device(s) generally used during actual executionof the program code. A bulk storage device may be implemented as a harddrive, solid state disk, or other persistent data storage device. Theprocessing system 1600 may also include one or more cache memories (notshown) that provide temporary storage of at least some program code inorder to reduce the number of times program code must be retrieved fromthe bulk storage device 1610 during execution.

Input/output (I/O) devices depicted as input device 1612 and outputdevice 1614 optionally can be coupled to the data processing system1600. Examples of input devices may include, but are not limited to, forexample, a microphone, a keyboard, a pointing device such as a mouse, agame controller, a Bluetooth controller, a VR controller, and a gesturebased input device, or the like. Examples of output devices may include,but are not limited to, for example, a monitor or display, speakers, orthe like. Input device 1612 and/or output device 1614 may be coupled todata processing system 1600 either directly or through intervening I/Ocontrollers. A network adapter 1616 may also be coupled to the dataprocessing system 1600 to enable the data processing system 1600 tobecome coupled to other systems, computer systems, remote networkdevices, and/or remote storage devices through intervening private orpublic networks. The network adapter 1616 may comprise a data receiverfor receiving data that is transmitted by said systems, devices and/ornetworks and a data transmitter for transmitting data to said systems,devices and/or networks. Modems, cable modems, and Ethernet cards areexamples of different types of network adapters that may be used withdata processing system 1600.

As shown in FIG. 16 , memory elements 1604 may store an application1618. It should be appreciated that data processing system 1600 mayfurther execute an operating system (not shown) that can facilitateexecution of the application 1618. The application 1618, beingimplemented in the form of executable program code, can be executed bydata processing system 16000, e.g., by processor 1602. Responsive toexecuting the application 1618, the data processing system 1600 may beconfigured to perform one or more operations described herein.

In one aspect, for example, data processing system 1600 may implementthe dynamic slice priority management functionality described herein. Inthat case, application 1618 may represent an application that, whenexecuted, configures data processing system 1600 to perform thefunctionality described herein.

Embodiments or aspects thereof may be implemented in the form ofhardware, firmware, or software. If implemented in software, thesoftware may be stored on any non-transient computer readable mediumthat is configured to enable a processor to load the software or subsetsof instructions thereof. The processor then executes the instructionsand is configured to operate or cause an apparatus to operate in amanner as described herein.

Further, firmware, software, routines, or instructions may be describedherein as performing certain actions and/or functions of the dataprocessors. However, it should be appreciated that such descriptionscontained herein are merely for convenience and that such actions infact result from computing devices, processors, controllers, or otherdevices executing the firmware, software, routines, instructions, etc.

It should be understood that the flow diagrams, block diagrams, andnetwork diagrams may include more or fewer elements, be arrangeddifferently, or be represented differently. But it further should beunderstood that certain implementations may dictate the block andnetwork diagrams and the number of block and network diagramsillustrating the execution of the embodiments be implemented in aparticular way.

Accordingly, further embodiments may also be implemented in a variety ofcomputer architectures, physical, virtual, cloud computers, and/or somecombination thereof, and thus, the data processors described herein areintended for purposes of illustration only and not as a limitation ofthe embodiments.

While example embodiments have been particularly shown and described, itwill be understood by those skilled in the art that various changes inform and details may be made therein without departing from the scope ofthe embodiments encompassed by the appended claims.

1. A network node configured as a slice priority management node for use with a communication network, the network node configured to: receive, from a network services node, data indicating changes in network resources available for maintaining instantiated network slices in the communication network, the network services node configured to enable the instantiation of the network slices, each slice representing a virtual network; based on the received data, identify a change in the network services node's ability to maintain the instantiated network slices; notify a communication service provider of the change; receive, from the communication service provider, slice priority data, the slice priority data indicating a preferred order of a portion of the network slices for allocating the network resources; and forward an indication of the slice priority data to the network services node.
 2. The network node according to claim 1 wherein the data received from the network services node indicates a lack of resources for maintaining the instantiated network slices or an abundance of resources for maintaining the instantiated network slices.
 3. The network node according to claim 1 further configured, in response to receiving the slice priority data from the communication service provider, to: determine if changing allocation of network resources based on the slice priority data corrects a resource problem; and if changing the allocation of network resources based on the slice priority data does not correct the resource problem, notify the communication service provider.
 4. The network node according to claim 1 wherein the data indicating changes in network resources is pushed to the network node from the network services node or received in response to a request from the network node to the network services node.
 5. The network node according to claim 1 further configured to: in identifying a change in the network services node's ability to maintain the instantiated network slices, determine there are insufficient resources available to maintain a slice associated with the communication service provider; and only notify the communication service provider of the change in the network services node's ability to maintain the instantiated network slices if it is determined there are insufficient resources available to maintain the slice associated with the communication service provider.
 6. The network node according to claim 1 wherein the data indicating changes in network resources available for maintaining instantiated network slices includes location information or subnet slice identifiers, where the location information and subnet slice identifiers indicate changes in network resources available to maintain instantiated subnet slices forming the network slices, and the network node is further configured to: provide the location information or the subnet slice identifiers to the communication service provider; receive subnet slice priority data from the communication service provider; and forward an indication of the subnet slice priority data to the network services node.
 7. The network node according to claim 1 where, in notifying the communication service provider of the change, the network node is configured to: indicate an order with which slices associated with the communication service provider will be allocated resources by the network services node.
 8. The network node of claim 7 wherein, in indicating an order with which slices associated with the communication service provider will be allocated resources by the network services node, the network node is configured to: indicate the order using a mapping that numerically decouples priority indicators used by the network services node from priority indicators used by the communication service provider.
 9. The network node according to claim 1 further configured to: store default slice priority data associated with the communication service provider; and forward the default slice priority data to the network services node if the slice priority data is not received from the communication service provider.
 10. The network node according to claim 1 further configured to: determine a proposed slice priority; and provide the proposed slice priority to the communication service provider.
 11. The network node according to claim 1 wherein the communication service provider is a first communication service provider and the portion of network slices is a first portion of network slices and the network node is further configured to: notify a second communication service provider of the change; receive, from the second communication service provider, slice priority data, the slice priority data received from the second communication service provider indicating a preferred order of a second portion of the network slices for allocating the network resources; and forward an indication of the slice priority data received from the second communication service provider to the network services node.
 12. The network node according to claim 11 further configured to: determine if changing allocation of network resources based on the slice priority data received from the first communication service provider and the slice priority data received from the second communication service provider corrects a resource problem; and if changing the allocation of network resources based on the slice priority data received from the first communication service provider and the slice priority data received from the second communication service provider does not correct the resource problem, notify the first communication service provider and the second communication service provider.
 13. A communication network comprising a plurality of network nodes and configured to enable instantiation of network slices which represent virtual networks, the communication network comprising: a slice priority management function configured to: receive, from a network services node, data indicating changes in network resources available for maintaining instantiated network slices in the communication network, the network services node configured to enable the instantiation of the network slices, each slice representing a virtual network; based on the received data, identify a change in the network services node's ability to maintain the instantiated network slices; notify a communication service provider of the change; receive, from the communication service provider, slice priority data, the slice priority data indicating a preferred order of a portion of the network slices for allocating the network resources; and forward an indication of the slice priority data to the network services node.
 14. A method for managing slice priority in a communication network, the method comprising: receiving, from a network services node, data indicating changes in network resources available for maintaining instantiated network slices in the communication network, the network services node configured to enable the instantiation of the network slices, each slice representing a virtual network; based on the received data, identifying a change in the network services node's ability to maintain the instantiated network slices; notifying a communication service provider of the change; receiving, from the communication service provider, slice priority data, the slice priority data indicating a preferred order of a portion of the network slices for allocating the network resources; and forwarding an indication of the slice priority data to the network services node. 